ccR.Add_Rotation(
	3, -- Player Specialization
	"CC_Hunter_SV_Solo", -- Function name
	"Levelling from 90-100\n\n Incomplete.", -- Description
	"CC_Hunter_SV_Talents", -- Talents button frame
	"CC_Hunter_SV_Abilities", -- Abilities button frame
	"CC_Hunter_SV_Features", -- Features button frame
	"CC_Hunter_SV_Setup" -- Setup button frame
)
function CC_Hunter_SV_Solo()
	-- Features.lua
	ccR.Hunter.Masters_Call()
	ccR.Hunter.Counter_Shot()
	ccR.Hunter.Kill_Shot()
	ccR.Hunter.Mend_Pet()

	if ccR.Target.Exists() and ccR.Player.IsFacing("target") then
		ccR.Start_Attack()
		if ccR.Player.IsInCombat() then
			ccR.Hunter.Talent.Dire_Beast()
			ccR.Hunter.Talent.Binding_Shot(4)	-- Binding shot on AoE group of 4+ 
			ccR.Hunter.Talent.Intimidation()
			ccR.Hunter.Talent.Stampede()
			ccR.Hunter.Talent.Exhilaration(88)	-- Exhilaration at 88% HP
		end
		local vCount = ccR.Target.Count(8)
		if vCount == 1 then
		-- Single Target Rotation	
			-- 1. Explosive shot
			if ccR.Spell.CanAttack(EXPLOSIVE_SHOT) then ccR.Cast.Attack(EXPLOSIVE_SHOT)
			-- x. Arcane Shot to apply Serpent Sting
			elseif ccR.Spell.CanAttack(ARCANE_SHOT) and not ccR.Target.HasMyDebuff(SERPENT_STING) then ccR.Cast.Attack(ARCANE_SHOT)
			-- 2. Black Arrow
			elseif ccR.Spell.CanAttack(BLACK_ARROW) then ccR.Cast.Attack(BLACK_ARROW)
			-- 3. A Murder of Crows
			elseif ccR.Player.HasTalent(A_MURDER_OF_CROWS) and ccR.Spell.CanAttack(A_MURDER_OF_CROWS) then ccR.Cast.Attack(A_MURDER_OF_CROWS)
			-- T. Glaive Toss
			elseif ccR.Player.HasTalent(GLAIVE_TOSS) and ccR.Spell.CanAttack(GLAIVE_TOSS) then ccR.Cast.Attack(GLAIVE_TOSS)
			-- T. Powershot
			elseif ccR.Player.HasTalent(POWERSHOT) and ccR.Spell.CanAttack(POWERSHOT) then ccR.Cast.Attack(POWERSHOT)
			-- 4. Arcane Shot (If all rest are on cd)
			elseif ccR.Spell.IsOnCooldown(EXPLOSIVE_SHOT) and ccR.Spell.IsOnCooldown(BLACK_ARROW) and ccR.Spell.CanAttack(ARCANE_SHOT) then ccR.Cast.Attack(ARCANE_SHOT)
			-- 5. Cobra Shot
			elseif ccR.Spell.CanAttack(COBRA_SHOT) then ccR.Cast.Attack(COBRA_SHOT) 
			end
		end
		if vCount > 1 and vCount <= 3 then
		-- 2-3 Enemies Rotation
			-- 1. Explosive Shot
			if ccR.Spell.CanAttack(EXPLOSIVE_SHOT) then ccR.Cast.Attack(EXPLOSIVE_SHOT)
			-- x. Arcane Shot to apply Serpent Sting
			elseif ccR.Spell.CanAttack(ARCANE_SHOT) and not ccR.Target.HasMyDebuff(SERPENT_STING) then ccR.Cast.Attack(ARCANE_SHOT)
			-- 2. Black Arrow
			elseif ccR.Spell.CanAttack(BLACK_ARROW) then ccR.Cast.Attack(BLACK_ARROW)
			-- 3. A Murder of Crows
			elseif ccR.Player.HasTalent(A_MURDER_OF_CROWS) and ccR.Spell.CanAttack(A_MURDER_OF_CROWS) then ccR.Cast.Attack(A_MURDER_OF_CROWS)
			-- 4. Multi Shot (If all rest are on cd)
			elseif ccR.Spell.IsOnCooldown(EXPLOSIVE_SHOT) and ccR.Spell.IsOnCooldown(BLACK_ARROW) and ccR.Spell.CanAttack(MULTI_SHOT) then ccR.Cast.Attack(MULTI_SHOT)
			-- 5. Explosive Trap
			elseif ccR.Spell.IsReady(EXPLOSIVE_TRAP) and ccR.Player.HasBuff(TRAP_LAUNCHER) then ccR.Cast.Spell(EXPLOSIVE_TRAP) if SpellIsTargeting() then CastAtPosition(ObjectPosition("target")) end
			-- T. Glaive Toss
			elseif ccR.Player.HasTalent(GLAIVE_TOSS) and ccR.Spell.CanAttack(GLAIVE_TOSS) then ccR.Cast.Attack(GLAIVE_TOSS)
			-- T. Powershot
			elseif ccR.Player.HasTalent(POWERSHOT) and ccR.Spell.CanAttack(POWERSHOT) then ccR.Cast.Attack(POWERSHOT)
			-- T. Barrage
			elseif ccR.Player.HasTalent(BARRAGE) and ccR.Spell.CanAttack(BARRAGE) then ccR.Cast.Attack(BARRAGE)
			-- 6. Cobra Shot
			elseif ccR.Spell.CanAttack(COBRA_SHOT) then ccR.Cast.Attack(COBRA_SHOT)
			end
		end
		if vCount >= 4 then
			-- 1. Multi Shot
			if ccR.Spell.CanAttack(MULTI_SHOT) then ccR.Cast.Attack(MULTI_SHOT) 
			-- 2. Explosive Trap
			elseif ccR.Spell.IsReady(EXPLOSIVE_TRAP) and ccR.Player.HasBuff(TRAP_LAUNCHER) then ccR.Cast.Spell(EXPLOSIVE_TRAP) if SpellIsTargeting() then CastAtPosition(ObjectPosition("target")) end
			-- T. Binding Shot
			elseif ccR.Player.HasTalent(BINDING_SHOT) and ccR.Spell.IsReady(BINDING_SHOT) and ccR.Target.Distance() <= 29 then ccR.Cast.Spell(BINDING_SHOT) if SpellIsTargeting() then CastAtPosition(ObjectPosition("target")) end
			-- T. Glaive Toss
			elseif ccR.Player.HasTalent(GLAIVE_TOSS) and ccR.Spell.CanAttack(GLAIVE_TOSS) then ccR.Cast.Attack(GLAIVE_TOSS)
			-- T. Barrage
			elseif ccR.Player.HasTalent(BARRAGE) and ccR.Spell.CanAttack(BARRAGE) then ccR.Cast.Attack(BARRAGE)
			-- 3. Black Arrow
			elseif ccR.Spell.CanAttack(BLACK_ARROW) then ccR.Cast.Attack(BLACK_ARROW) 
			-- 4. Explosive Shot on Lock and Load
			elseif ccR.Player.HasBuff(LOCK_AND_LOAD) and ccR.Spell.CanAttack(EXPLOSIVE_SHOT) then ccR.Cast.Attack(EXPLOSIVE_SHOT) 
			-- 5. Cobra Shot
			elseif ccR.Spell.CanAttack(COBRA_SHOT) then ccR.Cast.Attack(COBRA_SHOT) 
			end
		end
	end
end